<template>
	<view>
		<u-loading-page loading-text="loading..." bg-color="#e8e8e8" loading-color="#000000"></u-loading-page>
	</view>
</template>
<script>
	import {
		getSignatureInfo
	} from '@/api/login';
	export default {
		data() {
			return {

			};
		},
		onLoad() {
			// 设置全局鉴权的url，方便页面主动刷新导致的鉴权失败问题
			uni.setStorageSync('permission_url', location.href);
			// 免登
			this.ddLogin();
		},
		methods: {
			// 钉钉登录
			ddLogin() {
				let that = this;
				// 获取后台鉴权信息
				getSignatureInfo(location.href).then(res => {
					const _config = res.data;
					var endStamp=Date.now()+2*60*60*1000;
					// 鉴权有效期2小时，将返回的信息存在本地，在有效期内避免多次访问后台获取
					uni.setStorageSync('endStamp', endStamp);
					uni.setStorageSync('_config.agentId', _config.agentId);
					uni.setStorageSync('_config.corpId', _config.corpId);
					uni.setStorageSync('_config.timeStamp', _config.timeStamp);
					uni.setStorageSync('_config.nonceStr', _config.nonceStr);
					uni.setStorageSync('_config.signature', _config.signature);
					//console.log(res.data)
					var jsapilist = [
						'device.notification.alert', //警告框
						'device.notification.confirm', //确认框
						'biz.navigation.setTitle', //设置导航栏标题
						'biz.navigation.quit', //关闭页面
						'biz.util.openModal', //打开弹窗（模态窗）
						'biz.contact.complexPicker', //选择人员
						'device.geolocation.get', //获取当前地理位置信息
						'biz.map.locate', //地图定位
						'biz.map.search', //地图页面支持搜索
						'biz.map.view' //展示位置
					] //需要使用的jsapi列表

					//1、鉴权
					window.dd.config({
						agentId: _config.agentId,
						corpId: _config.corpId, //必填，企业ID
						timeStamp: _config.timeStamp, // 必填，生成签名的时间戳
						nonceStr: _config.nonceStr, // 必填，生成签名的随机串
						signature: _config.signature, // 必填，签名
						jsApiList: jsapilist // 必填，需要使用的jsapi列表，注意：不要带dd。
					});

					window.dd.error(function(err) { //验证失败  
						console.log("进入到error中2");
						console.log('dd error: ' + JSON.stringify(err));
					})
					console.log("wo zai  login zhong ");
					// 免登
					window.dd.runtime.permission.requestAuthCode({
						corpId: _config.corpId,
						onSuccess: function(result) {
							// that.toast('登录中,请稍后...');
							console.log(result.code);
							that.$store.dispatch('DDLogin', result.code).then(() => {
									that.$store.dispatch('GetInfo').then(res => {
										uni.reLaunch({
											url: '/pages/index/index'
										});
									});
								})
								.catch((res) => {
									console.log(res)
									that.toast('登录异常,请联系管理员排查系统账号和钉钉账号对应关系');
								});
						},
						onFail: function(err) {
							alert('err:')
							alert(err)
						}
					});
				});

			},

		}
	};
</script>
<style lang="scss">
	.eye {
		position: absolute;
		height: 50rpx;
		width: 50rpx;
		right: 0;
		top: 50%;
		transform: translateY(-50%);
	}

	.register {
		margin-top: 20rpx;
		color: #69c8fa;
		text-align: right;
	}

	.tishi {
		font-size: 20rpx;
		color: gray;
	}

	.login {
		width: 200rpx;
		color: white;
		height: 75rpx;
		font-size: 30rpx;
		background-color: #69c8fa;
	}

	.codeImg {
		height: 64rpx;
		position: absolute;
		right: 0;
		top: 10rpx;
		width: 200rpx;
	}
</style>
